package org.dromara.work.domain.bo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;

/**
 * Author Chen
 * CreateTime 2024/1/15 10:09
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class DmBaseSaveBo extends BaseEntity {

    @NotBlank(message = "id不能为空", groups = { EditGroup.class })
    private String id;
    /**
     * 地名代码
     */
    @NotBlank(message = "地名编码不能为空", groups = { AddGroup.class, EditGroup.class })
    @Size(min = 20,max = 20,message = "地名编码应20位")
    private String code;

    /**
     * 标准名称
     */
    @NotBlank(message = "名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String name;

    /**
     * 别名
     */
    private String alias;

    /**
     * 简称
     */
    private String simpleName;

    /**
     * 曾用名
     */
    private String historyName;


    /**
     * 少数民族语言书写
     */
    private String ssmzyy;

    /**
     * 地名原读音(读音文件名)
     */
    private String dmydy;

    /**
     * 汉语普通话读音(读音文件名)
     */
    private String hypthdy;

    /**
     * 罗马字母拼写
     */
    private String lmzmpx;

    /**
     * 地名语种-标准名称所属的民族语言种类
     */
    private String dmyz;

    /**
     * 地名类别-地名所指代的地理实体的类别
     */
    @NotNull(message = "地名类别不能为空", groups = { AddGroup.class, EditGroup.class })
    private String dmlb;


    /**
     * 东经(格式：_°_′_″ 第三段“秒”预留两位小数)
     */
    @NotBlank(message = "经度不能为空", groups = { AddGroup.class, EditGroup.class })
    private String eastLongitude;

    /**
     * 至东经(格式：_°_′_″ 第三段“秒”预留两位小数)
     */
    private String toEastLongitude;

    /**
     * 北纬(格式：_°_′_″ 第三段“秒”预留两位小数)
     */
    @NotBlank(message = "维度不能为空", groups = { AddGroup.class, EditGroup.class })
    private String northLatitude;

    /**
     * 至北纬(格式：_°_′_″ 第三段“秒”预留两位小数)
     */
    private String toNorthLatitude;

    /**
     * 地名普查状态
     */
    private String dmpczt;

    /**
     * 原图名称-填写该地名在地图上的名称
     */
    private String ytmc;

    /**
     * 图号-所在图幅的图名、图号
     */
    private String th;

    /**
     * 比例尺
     */
    private String scale;

    /**
     * 使用时间
     */
    private String useTime;

    /**
     * 地名的来历
     */
    private String dmll;

    /**
     * 地名的含义
     */
    private String dmhy;

    /**
     * 地名的历史沿革
     */
    private String dmlsyg;



    /**
     * 多媒体信息
     */
    private String dmtxx;

    /**
     * 资料来源
     */
    private String zlly;

    /**
     * 备注
     */
    private String remark;

    /**
     * 登记时间-格式yyyy-MM-dd
     */
    private String registerDate;

    /**
     * 登记人
     */
    private String registerName;


    /**
     * 通名罗马字母拼写
     */
    private String tmlmzmpx;

    /**
     * 设立年份
     */
    private String slnf;

    /**
     * 废止年份
     */
    private String fznf;

    /**
     * 是否公开
     */
    private String sfgk;


    /**
     * 行政区划
     */
    @NotBlank(message = "行政区划不能为空", groups = { AddGroup.class, EditGroup.class })
    private String xzqh;

    private String pinyin;
}
